package dynamic.metadata;

import dynamic.metadata.property.DynamicTableName;
import dynamic.metadata.property.KeySequence;

import java.util.Map;

public interface EntityClass {

    public EntityClass getSuperclass();

    public String  getName();


    public String getSimpleName();

    public TableName getTableName();

    public Map<String,EntityProperty> getProperties();

    public boolean isExistTableId();

    public KeySequence getKeySequence();

    boolean isAssignableFrom(EntityClass tagClass);

    public DynamicTableName getDynamicTableName();

    public EntityProperty getProperty(String propertyName);
}
